home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
games
/
centauri.arc
/
CENTAURI.BAS
(
.txt
)
< prev
next >
Wrap
Atari STOS Basic
|
1990-08-14
|
27KB
|
671 lines
10 REM ***************************************************************
100 REM
1000 REM
10000 REM
10010 REM ** subroutines **
10020 REM
1010 REM ** central routine **
10100 REM
10110 REM ** standard type of initialising ** S E T U P **
10120 REM
10130 FADE
10140 CLS
10150 LOAD
10170 FOR
10180 KEY
10190 NEXT
1020 REM
10200 KEY SPEED
10210 CLEAR KEY
10220 RETURN
1030 GOSUB
1040 GOSUB
1050 GOSUB
1060 GOSUB
1065 MODE
1070 REM beginning of program loop
1080 REPEAT
1085 CLEAR KEY
1090 GOSUB
110 REM ** variables **
1100 REM title screen loop
11000 REM
11010 REM ** load DEGAS background graphics ** F E T C H _ G R A P H I C **
11020 REM
11030 RESERVE
11040 RESERVE
11050 KEY
11060 LOAD
11080 LOAD
11090 RETURN
1110 REPEAT
1130 VARNAME
1140 IF
1170 UNTIL
1180 UNTIL
1190 MODE
120 REM
12000 REM
12010 REM ** load sprite graphics ** F E T C H _ S P R I T E S **
12020 REM
12030 LOAD
12040 RETURN
130 REM integers
13000 REM
13010 REM ** load music data ** F E T C H _ M U S I C **
13020 REM
13030 LOAD
13040 LOAD
13050 MUSIC
13060 RETURN
140 VARNAME
14000 REM
14010 REM ** transfer title page to screen ** D I S P L A Y _ T I T L E **
14020 REM
14030 FADE
14040 IF
14050 IF
14055 SCREEN COPY
14060 RETURN
1410 WAIT KEY
1420 END
150 VARNAME
1500 REM ** system error **
15000 REM
15010 REM ** display high and last scores ** S C F A M E **
15020 REM
15030 CLS
15035 PEN
15040 PEN
15050 PEN
15060 PEN
15070 PEN
15080 CENTRE
15090 LOCATE
15095 LOCATE
1510 CLS
15100 SPRITE
15110 SPRITE
15120 SPRITE
15130 SPRITE
15140 SPRITE
15150 MOVE
1520 PRINT
1530 REPEAT
160 VARNAME
16000 REM
16010 REM ** check for function keys ** F U N C T I O N _ C H E C K **
16020 REM
16025 IF
16040 IF
16050 IF
16055 IF
16060 IF
16070 IF
16080 IF
16090 RETURN
16200 REM
16210 REM ** special functions for hall of fame ** A D D F U N C 1 **
16220 REM
16230 IF
16240 IF
16250 IF
16260 IF
16270 RETURN
16400 REM
16410 REM ** special functions for title page ** A D D F U N C 2 **
16420 REM
16430 IF
16440 IF
16450 RETURN
16600 REM
16610 REM ** cheat mode clue ** N O W A Y **
16620 REM
16630 PAPER
16640 SCROLL
16710 PRINT
16720 PRINT
16730 PRINT
16740 PRINT
16750 PRINT
16760 WAIT
16770 RETURN
170 VARNAME
17000 REM
17010 REM ** password to advanced levels ** L E V E L J U M P **
17020 REM
17030 PAPER
17040 SCROLL
17060 PRINT
17070 IF
17080 IF
17090 IF
17100 IF
17101 IF
17105 IF
17110 IF
17120 WAIT
17130 RETURN
17200 REM
17210 REM ** silly hints ** H I N T S **
17220 REM
17230 PAPER
17240 SCROLL
17260 PRINT
17270 CENTRE
17280 WAIT
17290 RETURN
17400 REM
17410 REM ** pretend entry to cheat mode ** P R E T C H E A T **
17420 REM
17430 PAPER
17440 SCROLL
17460 PRINT
17470 PRINT
17480 WAIT
17490 RETURN
180 VARNAME
18000 REM
18010 REM ** the nothing message ** N O U T **
18020 REM
18030 PAPER
18040 SCROLL
18060 PRINT
18070 PRINT
18080 PRINT
18090 PRINT
18100 PRINT
18110 WAIT
18120 RETURN
18200 REM
18210 REM ** sound options, music or FX ** S O U N D O P T **
18220 REM
18230 PAPER
18240 SCROLL
18260 PRINT
18270 PRINT
18280 PRINT
18290 PRINT
18300 WHILE
18310 VARNAME
18320 WEND
18330 IF
18340 IF
18350 WINDEL
18360 RETURN
18400 REM
18410 REM ** message text ** M E S S **
18420 REM
18430 PAPER
18440 SCROLL
18460 PRINT
18470 WAIT
18480 RETURN
18600 REM
18610 REM ** undisplayed message ** S E C R E T **
18620 REM
18630 PAPER
18640 SCROLL
18660 PRINT
18670 PRINT
18680 WAIT
18690 RETURN
18800 REM
18810 REM ** possible later releases ** F U T U R E **
18820 REM
18830 PAPER
18840 SCROLL
18860 PRINT
18870 PRINT
18880 PRINT
18890 PRINT
18900 PRINT
18910 PRINT
18940 WAIT
18950 RETURN
190 VARNAME
19000 REM
19010 REM ** real time game play subroutine ** G A M E P L A Y **
19020 REM
19030 SPRITE
19035 VARNAME
19040 REPEAT
19050 GOSUB
19060 GOSUB
19065 GOSUB
19070 VARNAME
19075 DEC
19080 REPEAT
19085 IF
19090 GOSUB
19095 IF
19100 GOSUB
19110 IF
19112 IF
19114 IF
19120 GOSUB
19122 IF
19130 GOSUB
19131 IF
19135 IF
19140 IF
19155 IF
19160 UNTIL
19170 IF
19175 IF
19180 UNTIL
19190 IF
19200 IF
19210 MUSIC
19220 REM
19230 RETURN
19300 REM
19310 REM ** end of level routine ** V E L E N D **
19320 REM
19330 SPRITE
19340 SPRITE
19350 ANIM
19355 IF
19357 WAIT
19360 WAIT
19361 INC
19362 DEF
19364 FOR
19366 SCREEN COPY
19370 PAPER
19380 PRINT
19400 IF
19410 IF
19420 IF
19430 WAIT
19440 RETURN
19500 REM
19510 REM ** update present levels wave ** W A V E C O U N T **
19520 REM
19530 REM
19540 INC
19550 IF
19560 IF
19570 IF
19580 RESTORE
19590 READ
19600 READ
19610 READ
19620 RETURN
19800 REM
19810 REM ** display get ready message ** G R E A D Y **
19820 REM
19830 SPRITE
19840 ANIM
19850 MOVE
19860 MOVE X
19870 RETURN
19900 REM
19910 REM ** Pause the real time ** P A U S E **
19920 REM
19940 FREEZE
19950 REPEAT
19960 IF
19990 UNTIL
19992 UNFREEZE
19994 RETURN
20 REM ** **
200 VARNAME
20000 REM
20010 REM ** display level's screen and initialise ** L E V S C R E E N **
20020 REM
20030 FADE
20040 IF
20050 IF
20060 IF
20070 IF
20080 IF
20090 SCREEN COPY
20100 SCREEN COPY
20110 IF
20120 SPRITE
20130 RETURN
20200 REM
20210 REM ** set colours for sprites ** S P R I T C O L **
20220 REM
20230 PALETTE
20240 RETURN
20500 REM
20510 REM ** hyperspace control routine ** H Y P L E V **
20520 REM
20525 VARNAME
20530 VARNAME
20540 SCREEN COPY
20550 GET PALETTE
20560 SPRITE
20570 MOVE X
20575 IF
20580 REPEAT
20590 GOSUB
20600 GOSUB
20610 GOSUB
20620 INC
20630 UNTIL
20640 IF
20650 IF
20670 IF
20680 SPRITE
20690 RETURN
20700 REM
20710 REM ** up & down hyperspace movement ** H U S E R **
20720 REM
20730 VARNAME
20740 IF
20750 IF
20760 MOVE
20770 RETURN
20800 REM
20810 REM ** move fireballs leftwards ** H Y P E R **
20820 REM
20825 IF
20830 VARNAME
20840 IF
20850 IF
20860 IF
20870 IF
20880 IF
20890 IF
20900 IF
20910 IF
20920 IF
20930 VARNAME
20940 ANIM
20950 ANIM
20960 RETURN
210 HIDE
21000 REM
21010 REM ** setup sprites ** S E T S P R I T S **
21020 REM
21030 SPRITE
21040 SPRITE
21050 SPRITE
21070 SPRITE
21080 SPRITE
21090 SPRITE
21110 REM sprite 9 used for destructable baddy
21120 REM sprites 10 & 11 for foreground
21130 REM sprites 14 used for indestructable saucers
21140 REM sprite 15 for explosions, get ready & game over
21170 RETURN
21200 REM
21210 REM ** move weapon energy pod ** A L P H A **
21220 REM
21230 SPRITE
21240 MOVE X
21250 MOVE
21260 RETURN
220 BREAK
22000 REM
22010 REM ** move user's sprite ** U S E R **
22020 REM
22050 VARNAME
22060 VARNAME
22070 IF
22080 IF
22090 IF
22100 IF
22110 IF
22120 IF
22130 IF
22140 IF
22150 MOVE
22160 RETURN
22200 REM
22210 REM ** deal with all possible collisions ** C O L L I S I O N S **
22220 REM
22230 REM collide with player
22240 VARNAME
22250 IF
22255 IF
22260 IF
22270 IF
22275 REM user hits missile 1
22280 VARNAME
22285 IF
22290 IF
22295 IF
22300 IF
22305 IF
22310 REM user hit with missile 2
22315 VARNAME
22320 IF
22325 IF
22330 IF
22335 IF
22340 IF
22345 IF
22350 REM Wave 5, four zone collision detection
22355 RESET ZONE
22357 IF
22360 VARNAME
22365 IF
22370 IF
22375 IF
22380 IF
22385 IF
22390 IF
22391 IF
22392 IF
22393 IF
22394 IF
22395 IF
22396 IF
22398 RETURN
22400 REM
22410 REM ** detect hyperspace collisions ** H Y P C O L **
22420 REM
22430 VARNAME
22440 IF
22450 RETURN
22600 REM
22610 REM ** shot absorbed by saucer ** S D E A D **
22620 REM
22630 SPRITE
22640 ANIM
22650 SPRITE
22660 MOVE
22670 ANIM
22680 IF
22690 RETURN
22800 REM
22810 REM ** enemy ship destruction sequence ** E D E A D **
22820 REM
22830 SPRITE
22835 IF
22840 ANIM
22850 ANIM
22852 SPRITE
22854 MOVE
22860 IF
22870 DEC
22880 IF
22890 RETURN
230 ON ERROR
23000 REM
23010 REM ** move enemy sprites ** E N E M Y **
23020 REM
23030 IF
23040 IF
23045 IF
23046 IF
23047 IF
23050 SPRITE
23060 MOVE X
23070 MOVE Y
23080 MOVE
23090 RETURN
23200 REM
23210 REM ** move hopping ships ** H O P P A **
23220 REM
23230 VARNAME
23240 IF
23250 IF
23260 MOVE X
23270 MOVE
23280 RETURN
23500 REM
23510 REM ** move the levels saucer ** S A U C E R S **
23520 REM
23530 IF
23540 VARNAME
23550 VARNAME
23560 IF
23570 IF
23580 MOVE
23590 RETURN
240 REM